package com.newbingo.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/*
 * 对报表时间处理
 */
public class TimeUtil {

	/*
	 * 根据时间的区域代号生成时间区域 @ param dateNum 1表示本周、2表示本月、3表示季度、4表示年
	 */
	public static String getTimePeriod(Integer dateNum) {
		if (dateNum != null) {
			String startTime = "";
			// 获取当前系统时间，进行时间比较，获取本周(月、季度、年)时间
			Calendar cal = Calendar.getInstance();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
			switch (dateNum) {
			// 匹配年份
			case 4:
				SimpleDateFormat yearStart = new SimpleDateFormat(
						"yyyy-01-01 00:00:00");
				startTime = yearStart.format(cal.getTime());
				break;
			// 匹配季度
			case 3:
				cal.add(Calendar.MONTH, 0 - cal.get(Calendar.MONTH) % 3);
				SimpleDateFormat formatSeason = new SimpleDateFormat(
						"yyyy-MM-01 00:00:00");
				startTime = formatSeason.format(cal.getTime());
				break;
			// 匹配月份
			case 2:
				SimpleDateFormat formateMonth = new SimpleDateFormat(
						"yyyy-MM-01 00:00:00");
				startTime = formateMonth.format(cal.getTime());
				break;
			// 匹配一周 计算一周的开始时间
			case 1:
				SimpleDateFormat formatWeek = new SimpleDateFormat(
						"yyyy-MM-dd 00:00:00");
				cal.add(Calendar.DATE, 0 - cal.get(Calendar.DAY_OF_WEEK) + 1);
				startTime = formatWeek.format(cal.getTime());
				break;
			}

			return startTime;
		} else {
			return null;
		}
	}

	public static void main(String[] args) {
		try {
			String objs = TimeUtil.getTimePeriod(4);
			System.out.print(objs);
		} catch (Exception re) {

		}
	}
}
